#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>

using namespace std;

// 实例
template <typename T>
T add(T a, T b)
{
	return a + b;
}
int main(int argc, char const *argv[])
{
	// 自动类型推到
	cout << add(5, 6) << endl;		 // 11
	cout << add(3.14, 6.18) << endl; // 9.32

	// 显示类型推导，在调用时 函数后面显性的指定类型
	cout << add<int>(5, 6) << endl;			 // 11
	cout << add<double>(3.14, 6.18) << endl; // 9.32
	cout << add<int>(3.14, 6.18) << endl;	 // 9
	return 0;
}
